package pe.com.drokasa.android.client.util;

import java.util.HashMap;
import java.util.Map;

/**
 * Clase que representa la informaci&oacute; almacenada durante el
 * uso de la aplicaci&oacute;n. Sirve como la sesi&oacute;n del usuario.
 * 
 * @author Synopsis S.A
 *
 */
public class VariableAplicacion 
{
	public static final String PRODUCTOS = "productos";
	public static final String PRODUCTO_SELECCIONADO = "productoSeleccionado";
	public static final String SUCURSALES = "sucursales";
	public static final String CODIGO_APLICACION = "codigoAplicacion";
	public static final String CODIGO_TRANSACCION = "codigoTransaccion";
	public static final String CODIGO_TIPO_DISPOSITIVO = "codigoTipoDispositivo";
	public static final String USUARIO = "usuario";
	public static final String PASSWORD = "password";
	public static final String CODIGO_VENDEDOR = "codigoVendedor";
	public static final String CANAL = "canal";
    /**
     * Representa el conjunto de objetos que se muestran en una vista.
     */
    private static Map<String, Object> objetos = new HashMap<String, Object>();
    
    
    /**
     * Representa el tipo de b&uacute;squeda seleccionado.
     */
    private static String tipoBusqueda;
    
    /**
     * Representa el criterio de b&uacute;squeda ingresado.
     */
    private static String criterioBusqueda;

	/**
	 * @return
	 */
	public static Map<String, Object> getObjetos() 
	{
		return objetos;
	}

	/**
	 * @param objetos
	 */
	public static void setObjetos(Map<String, Object> objetos) 
	{
		VariableAplicacion.objetos = objetos;
	}
	
	/**
	 * @param name
	 * @return
	 */
	public static Object getObjeto(String name)
	{
		return objetos.get(name);
	}
	
	/**
	 * @param name
	 * @param value
	 */
	public static void setObjeto(String name, Object value)
	{
		objetos.put(name, value);
	}

	/**
	 * @return
	 */
	public static String getTipoBusqueda()
	{
		return tipoBusqueda;
	}

	/**
	 * @param tipoBusqueda
	 */
	public static void setTipoBusqueda(String tipoBusqueda) 
	{
		VariableAplicacion.tipoBusqueda = tipoBusqueda;
	}

	/**
	 * @return
	 */
	public static String getCriterioBusqueda() 
	{
		return criterioBusqueda;
	}

	/**
	 * @param criterioBusqueda
	 */
	public static void setCriterioBusqueda(String criterioBusqueda) 
	{
		VariableAplicacion.criterioBusqueda = criterioBusqueda;
	}
	
	/**
	 * @return
	 */
	public static String getCodigoAplicativo()
	{
		return (String) objetos.get(CODIGO_APLICACION);
	}

	/**
	 * @return
	 */
	public static String getCodigoTransaccion()
	{
		return (String) objetos.get(CODIGO_TRANSACCION);
	}

	/**
	 * @return
	 */
	public static String getCodigoTipoDispositivo()
	{
		return (String) objetos.get(CODIGO_TIPO_DISPOSITIVO);
	}
	
	/**
	 * @return
	 */
	public static String getCodigoVendedor()
	{
		return (String) objetos.get(CODIGO_VENDEDOR);
	}
	
	/**
	 * @return
	 */
	public static String getUsuario()
	{
		return (String) objetos.get(USUARIO);
	}
	
	/**
	 * @return
	 */
	public static String getPassword()
	{
		return (String) objetos.get(PASSWORD);
	}
	
	/**
	 * @return
	 */
	public static String getCanal()
	{
		return (String) objetos.get(CANAL);
	}
	
	public static void removeObject(String name)
	{
		objetos.remove(name);
	}
	
	/**
	 * 
	 */
	public static void limpiar()
	{
		VariableAplicacion.objetos = new HashMap<String, Object>();
		VariableAplicacion.tipoBusqueda = null;
		VariableAplicacion.criterioBusqueda = null;
	}
}